{===============================================================================
 DZCompiler Include File (copy from Raize Component Suite)

 This file is included into each unit and serves as a common place to add
 conditional defines and compiler directives to be used by all units.

 Symbol                Meaning
 ------------------------------------------------------------------------------

 DELPHI                Is a Delphi verison of the compiler.
 BCB                   Is a C++Builder version of the compiler.

 VCL50                 VCL version 5.0 (Delphi 5.0, C++Builder 5)
 VCL60                 VCL version 6.0 (Delphi 6.0, C++Builder 6)
 VCL70                 VCL version 7.0 (Delphi 7.0)
 VCL80                 VCL version 8.0 (Delphi 8.0)
 VCL90                 VCL version 9.0 (Delphi 9.0 - a.k.a. Delphi 2005)
 VCL100                VCL version 10.0 (Delphi 10.0 - a.k.a. Delphi 2006)
 VCL105                VCL version 10.5 (Delphi 10.5 - a.k.a. Delphi 2007)
 VCL110                VCL version 11.0 (Delphi 11.0 - a.k.a. Delphi 2008)

 VCL50_OR_HIGHER       VCL version 5.0 or higher
 VCL60_OR_HIGHER       VCL version 6.0 or higher
 VCL70_OR_HIGHER       VCL version 7.0 or higher
 VCL80_OR_HIGHER       VCL version 8.0 or higher
 VCL90_OR_HIGHER       VCL version 9.0 or higher
 VCL100_OR_HIGHER      VCL version 10.0 or higher
 VCL105_OR_HIGHER      VCL version 10.5 or higher
 VCL110_OR_HIGHER      VCL version 11.0 or higher

 DELPHI5               Delphi 5
 DELPHI6               Delphi 6
 DELPHI7               Delphi 7
 DELPHI8               Delphi 8
 DELPHI9               Delphi 9
 DELPHI10              Delphi 10
 DELPHI11              Delphi 11
 D5_OR_HIGHER          Delphi 5 or higher
 D6_OR_HIGHER          Delphi 6 or higher
 D7_OR_HIGHER          Delphi 7 or higher
 D8_OR_HIGHER          Delphi 8 or higher
 D9_OR_HIGHER          Delphi 9 or higher
 D10_OR_HIGHER         Delphi 10 or higher
 D11_OR_HIGHER         Delphi 11 or higher

 BCB5                  C++Builder 5
 BCB6                  C++Builder 6
 BCB5_OR_HIGHER        C++Builder 5 or higher
 BCB6_OR_HIGHER        C++Builder 6 or higher
 BCB10_OR_HIGHER       C++Builder 10 or higher
 BCB11_OR_HIGHER       C++Builder 11 or higher

 DOT_NET               Compiling for Microsoft .NET Framework
 
 VER10  : Turbo Pascal 1
 VER20  : Turbo Pascal 2
 VER30  : Turbo Pascal 3
 VER40  : Turbo Pascal 4
 VER50  : Turbo Pascal 5
 VER60  : Turbo Pascal 6
 VER70  : Turbo Pascal 7 / Borland Pascal 7
 VER80  : Delphi 1
 VER90  : Delphi 2
 VER100 : Delphi 3
 VER 120 Delphi 4
 VER 130 Delphi 5
 VER 140 Delphi 6
 VER 150 Delphi 7
 VER 160 Delphi 8
 VER 170 Delphi 9 CodeGear2005
 VER 180 Delphi 10 CodeGear 2006
 VER 185 Delphi 11.0 (Spacely) CodeGear 2007
 VER 190 Delphi 11.0 (Highlander)
 VER 190 Delphi 12.0 (Tiburon) CodeGear 2009
 VER 200 Delphi 12.0 CodeGear 2009
 VER 210 Delphi 12.0 Embarcadero RAD Studio 2010
 VER 125 Borland C++ Builder 4.0
 VER 130 Borland C++ Builder 5.0
 VER 140 Borland C++ Builder 6.0
 VER 150 Borland C++ Builder 7.0
===============================================================================}

{$DEFINE VER_UNKNOWN}

// VER120 (Delphi 4)
{$IFDEF VER120}
{$UNDEF VER_UNKNOWN}
{$DEFINE VER12x}
{$DEFINE VCL40}

{$DEFINE DELPHI}
{$DEFINE DELPHI4}
{$DEFINE D4_OR_HIGHER}

{$DEFINE VCL40_OR_HIGHER}
{$ENDIF}

// VER125 (C++ Builder 4)
{$IFDEF VER125}
{$UNDEF VER_UNKNOWN}

{$DEFINE BCB4}
{$DEFINE BCB4_OR_HIGHER}
{$OBJEXPORTALL ON}

{$DEFINE VCL40_OR_HIGHER}
{$ENDIF}

{$IFDEF VER130}
{$UNDEF VER_UNKNOWN}
{$DEFINE VER13x}
{$DEFINE VCL50}

{$IFDEF BCB}
{$DEFINE BCB5}
{$DEFINE BCB5_OR_HIGHER}
{$OBJEXPORTALL ON}
{$ELSE}
{$DEFINE DELPHI}
{$DEFINE DELPHI5}
{$DEFINE D5_OR_HIGHER}
{$ENDIF}

{$DEFINE VCL40_OR_HIGHER}
{$DEFINE VCL50_OR_HIGHER}
{$ENDIF}


// VER140 (Delphi 6 & C++Builder 6 & Kylix 1)

{$IFDEF VER140}
{$UNDEF VER_UNKNOWN}
{$DEFINE VER14x}
{$DEFINE VCL60}

{$IFDEF MSWINDOWS}
{$IFDEF BCB}
{$DEFINE BCB6}
{$DEFINE BCB5_OR_HIGHER}
{$DEFINE BCB6_OR_HIGHER}
{$OBJEXPORTALL ON}
{$ELSE}
{$DEFINE DELPHI}
{$DEFINE DELPHI6}
{$DEFINE D5_OR_HIGHER}
{$DEFINE D6_OR_HIGHER}
{$ENDIF}
{$ELSE}
    // Non-Windows compiler (i.e. Kylix)
{$ENDIF}

{$DEFINE VCL40_OR_HIGHER}
{$DEFINE VCL50_OR_HIGHER}
{$DEFINE VCL60_OR_HIGHER}
{$ENDIF}


// VER150 (Delphi 7)

{$IFDEF VER150}
{$UNDEF VER_UNKNOWN}
{$DEFINE VER15x}
{$DEFINE VCL70}

{$IFDEF MSWINDOWS}
{$IFDEF BCB}
{$DEFINE BCB5_OR_HIGHER}
{$DEFINE BCB6_OR_HIGHER}
{$OBJEXPORTALL ON}
{$ELSE}
{$DEFINE DELPHI}
{$DEFINE DELPHI7}
{$DEFINE D5_OR_HIGHER}
{$DEFINE D6_OR_HIGHER}
{$DEFINE D7_OR_HIGHER}
{$ENDIF}
{.$DEFINE DOT_NET_WARNINGS_OFF}
{$ELSE}
    // Non-Windows compiler (i.e. Kylix)
{$ENDIF}

{$DEFINE VCL40_OR_HIGHER}
{$DEFINE VCL50_OR_HIGHER}
{$DEFINE VCL60_OR_HIGHER}
{$DEFINE VCL70_OR_HIGHER}
{$ENDIF}


// VER170 (Delphi 2005 or Delphi 9)

{$IFDEF VER170}
{$UNDEF VER_UNKNOWN}
{$DEFINE VER17x}
{$DEFINE VCL90}

{$IFDEF MSWINDOWS}
{$IFDEF BCB}
{$DEFINE BCB5_OR_HIGHER}
{$DEFINE BCB6_OR_HIGHER}
{$OBJEXPORTALL ON}
{$ELSE}
{$DEFINE DELPHI}
{$DEFINE DELPHI9}
{$DEFINE DELPHI2005}
{$DEFINE D5_OR_HIGHER}
{$DEFINE D6_OR_HIGHER}
{$DEFINE D7_OR_HIGHER}
{$DEFINE D9_OR_HIGHER}
{$DEFINE D2005_OR_HIGHER}
{$ENDIF}
{.$DEFINE DOT_NET_WARNINGS_OFF}
{$ELSE}
    // Non-Windows compiler (i.e. Kylix)
{$ENDIF}

{$DEFINE VCL40_OR_HIGHER}
{$DEFINE VCL50_OR_HIGHER}
{$DEFINE VCL60_OR_HIGHER}
{$DEFINE VCL70_OR_HIGHER}
{$DEFINE VCL90_OR_HIGHER}
{$ENDIF}


// VER180 (Delphi 2006 or Delphi 10)

{$IFDEF VER180}
{$UNDEF VER_UNKNOWN}
{$DEFINE VER18x}
{$DEFINE VCL100}

{$IFDEF MSWINDOWS}
{$IFDEF BCB}
{$DEFINE BCB5_OR_HIGHER}
{$DEFINE BCB6_OR_HIGHER}
{$OBJEXPORTALL ON}
{$ELSE}
{$DEFINE DELPHI}
{$DEFINE DELPHI10}
{$DEFINE DELPHI2006}
{$DEFINE D5_OR_HIGHER}
{$DEFINE D6_OR_HIGHER}
{$DEFINE D7_OR_HIGHER}
{$DEFINE D8_OR_HIGHER}  
{$DEFINE D9_OR_HIGHER}
{$DEFINE D2005_OR_HIGHER}
{$DEFINE D10_OR_HIGHER}
{$DEFINE D2006_OR_HIGHER}
{$ENDIF}
{.$DEFINE DOT_NET_WARNINGS_OFF}
{$ELSE}
    // Non-Windows compiler (i.e. Kylix)
{$ENDIF}

{$DEFINE VCL40_OR_HIGHER}
{$DEFINE VCL50_OR_HIGHER}
{$DEFINE VCL60_OR_HIGHER}
{$DEFINE VCL70_OR_HIGHER}
{$DEFINE VCL90_OR_HIGHER}
{$DEFINE VCL100_OR_HIGHER}
{$ENDIF}


// VER185 (Delphi 11) and (Delphi 2007)

{$IFDEF VER185}
{$UNDEF VER_UNKNOWN}
{$DEFINE VER18x}
{$DEFINE VCL100}

{$IFDEF MSWINDOWS}
{$IFDEF BCB}
{$DEFINE BCB5_OR_HIGHER}
{$DEFINE BCB6_OR_HIGHER}
{$DEFINE BCB11_OR_HIGHER}
{$OBJEXPORTALL ON}
{$ELSE}
{$DEFINE DELPHI}
{$DEFINE DELPHI11}
{$DEFINE DELPHI2007}
{$DEFINE D5_OR_HIGHER}
{$DEFINE D6_OR_HIGHER}
{$DEFINE D7_OR_HIGHER}
{.$DEFINE D8_OR_HIGHER}
{$DEFINE D9_OR_HIGHER}
{$DEFINE D2005_OR_HIGHER}
{$DEFINE D10_OR_HIGHER}
{$DEFINE D2006_OR_HIGHER}
{$DEFINE D11_OR_HIGHER}
{$DEFINE D2007_OR_HIGHER}
{$ENDIF}
{.$DEFINE DOT_NET_WARNINGS_OFF}
{$ELSE}
    // Non-Windows compiler (i.e. Kylix)
{$ENDIF}

{$DEFINE VCL40_OR_HIGHER}
{$DEFINE VCL50_OR_HIGHER}
{$DEFINE VCL60_OR_HIGHER}
{$DEFINE VCL70_OR_HIGHER}
{.$DEFINE VCL80_OR_HIGHER}
{$DEFINE VCL90_OR_HIGHER}
{$DEFINE VCL100_OR_HIGHER}

{$ENDIF}

// VER200 (VER 200 Delphi 12.0 CodeGear 2009)

{$IFDEF VER200}
{$UNDEF VER_UNKNOWN}
{$DEFINE VER20x}
{$DEFINE VCL110}

{$IFDEF MSWINDOWS}
{$IFDEF BCB}
{$DEFINE BCB5_OR_HIGHER}
{$DEFINE BCB6_OR_HIGHER}
{$DEFINE BCB11_OR_HIGHER}
{$OBJEXPORTALL ON}
{$ELSE}
{$DEFINE DELPHI}
{$DEFINE DELPHI12}
{$DEFINE DELPHI2009}
{$DEFINE D5_OR_HIGHER}
{$DEFINE D6_OR_HIGHER}
{$DEFINE D7_OR_HIGHER}
{$DEFINE D8_OR_HIGHER}
{$DEFINE D9_OR_HIGHER}
{$DEFINE D2005_OR_HIGHER}
{$DEFINE D10_OR_HIGHER}
{$DEFINE D2006_OR_HIGHER}
{$DEFINE D11_OR_HIGHER}
{$DEFINE D2007_OR_HIGHER}
{$DEFINE D12_OR_HIGHER}
{$DEFINE D2009_OR_HIGHER}
{$ENDIF}
{.$DEFINE DOT_NET_WARNINGS_OFF}
{$ELSE}
    // Non-Windows compiler (i.e. Kylix)
{$ENDIF}

{$DEFINE VCL40_OR_HIGHER}
{$DEFINE VCL50_OR_HIGHER}
{$DEFINE VCL60_OR_HIGHER}
{$DEFINE VCL70_OR_HIGHER}
{.$DEFINE VCL80_OR_HIGHER}
{$DEFINE VCL90_OR_HIGHER}
{$DEFINE VCL100_OR_HIGHER}
{$DEFINE VCL110_OR_HIGHER}
{$ENDIF}

// VER 210 (Delphi 12.0 Embarcadero RAD Studio 2010)
{$IFDEF VER210}
{$UNDEF VER_UNKNOWN}
{$DEFINE VER21x}
{$DEFINE VCL140}

{$IFDEF MSWINDOWS}
{$IFDEF BCB}
{$DEFINE BCB5_OR_HIGHER}
{$DEFINE BCB6_OR_HIGHER}
{$OBJEXPORTALL ON}
{$ELSE}
{$DEFINE DELPHI}
{$DEFINE DELPHI12}
{$DEFINE DELPHI2010}
{$DEFINE D5_OR_HIGHER}
{$DEFINE D6_OR_HIGHER}
{$DEFINE D7_OR_HIGHER}
{$DEFINE D8_OR_HIGHER}
{$DEFINE D9_OR_HIGHER}
{$DEFINE D10_OR_HIGHER}
{$DEFINE D2007_OR_HIGHER}
{$DEFINE D12_OR_HIGHER}
{$DEFINE D2009_OR_HIGHER}
{$DEFINE D2010_OR_HIGHER}
{$ENDIF}
{.$DEFINE DOT_NET_WARNINGS_OFF}
{$ELSE}
    // Non-Windows compiler (i.e. Kylix)
{$ENDIF}

{$DEFINE VCL40_OR_HIGHER}
{$DEFINE VCL50_OR_HIGHER}
{$DEFINE VCL60_OR_HIGHER}
{$DEFINE VCL70_OR_HIGHER}
{$DEFINE VCL80_OR_HIGHER}
{$DEFINE VCL90_OR_HIGHER}
{$DEFINE VCL100_OR_HIGHER}
{$DEFINE VCL140_OR_HIGHER}
{$ENDIF}

{== Warnings ==================================================================}

{$IFDEF VCL60_OR_HIGHER}
{$WARN UNIT_PLATFORM OFF}
{$WARN SYMBOL_PLATFORM OFF}
{$WARN UNIT_DEPRECATED OFF}
{$WARN SYMBOL_DEPRECATED OFF}
{$ENDIF}


{$IFDEF DOT_NET_WARNINGS_OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CAST OFF}
{$ENDIF}


{$IFDEF CIL}
{$DEFINE DOT_NET}
{$ENDIF}


{== Code Generation Directives ================================================}

{$ALIGN ON}
{$OPTIMIZATION ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES OFF}

// Runtime Errors

{$IFOPT D+}
  // Compiled with Debug Information
{$ASSERTIONS ON}
{$LOCALSYMBOLS ON}
{$RANGECHECKS ON}
{$REFERENCEINFO ON}
{$ELSE}
  // Compiled without Debug Information
{$ASSERTIONS OFF}
{$LOCALSYMBOLS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO OFF}
{$ENDIF}

{$IOCHECKS ON}
{$OVERFLOWCHECKS OFF}

// Syntax Options

{$BOOLEVAL OFF}
{$LONGSTRINGS ON}
{$WRITEABLECONST OFF}
{$OPENSTRINGS ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS OFF}
{$EXTENDEDSYNTAX ON}

// Miscellaneous Directives

{$IMPORTEDDATA ON}
{$MINENUMSIZE 1}